1、创建版本库

使用mkdir新建一个空目录,在cd进入该目录进行git初始化。初始化后,执行ls -ah可以看到.git文件,这意味着你已经成功的初始化了一个空的git仓库。

1
git init
2、工作区和版本库(Stage,HEAD)

工作区就是我们编写文件所在地方,版本库就是.git里面,又分暂存区和分支。

  • 通过git status可以查看到修改,新增或者是删除的文件;
  • 通过git add 或者是git add .将修改文件添加到暂存区(前者只能添加对应文件,后者添加修改过的所有文件);
  • 通过git commit -m “备注xxx”,可以将暂存的内容添加到分支也就是版本库;
  • git checkout – file 撤销暂存
1
2
3
4
5
git log // 查看commit状态
git status // 查看修改文件状态
git add . // 暂存所有修改文件
git checkout -- xxx // 取消暂存
git commit -m "xxxx" // 提交到本地库
3、git远程库的添加与推送

git可以通过命令添加远程仓库

1
git remote add origin git@xxx:xxx.git // 添加远程库

再是把本地库的代码推送到远程库上, 第一次推送加上-u参数可以将本地master和远程master分支关联起来,以后的推送可以不使用-u。

1
git push -u origin master // 推送到远程库
4、分支管理

(1)分支的创建与合并

-查看分支,git branch -a可以查看到所有本地和远程分支,
带*号是当前所在分支,remotes/origin/xxx是远程分支

1
2
git branch -a // 查看所有分支
git branch // 查看本地分支

-支创建与切换,以及合并

1
2
3
4
git checkout -b xxx // 创建并切换到该分支
git branch xxx // 创建该分支
git checkout xxx // 切换到该分支
git merge xxx // 合并其他分支到当前分支

-远程分支创建

1
git push origin xxx:xxx // 将本地分支推送的远程,相当于创建一个远程分支

(2)分支删除

-本地分支删除

1
2
git branch -d xxx // 删除分支
git branch -D xxx // 强制删除分支

-远程分支删除

1
2
git push origin :xxx // 第一种:推送空分支到远程分支就相当于删除远程分支
git push origin --delete xxx //第二种:删除远程分支
5、技巧与使用

(1)开发进行到一半,要进行其他的开发工作,当前代码又不能提交的情况下,可以使用git stash存储该代码,以便后面进行开发。

1
2
3
4
5
git stash // 代码存储
git stash list // 存储查看
git stash apply // 恢复,stash不删除
git stash drop // 删除stash
git stash pop // 恢复并删除stash

(2)git fetch和git pull的区别

1
2
git fetch // 只是更新代码
git pull // 更新合并代码,git pull = git fetch + git merge

(3)git clean和git reset的区别,两者一般配合使用

1
2
3
4
5
6
git reset --hard // 删除track的文件
git clean -n // 提醒会被删除的文件
git clean -f // 删除当前没有track的文件,忽略.gitignore里指定的文件
git clean -f <xxxx>
git clean -df // 删除当前目录没有被track的文件和文件夹
git clean -xf // 删除所有没有被track的文件和文件夹

(4)git 回滚

1
2
3
4
git reset --hard HEAD^         回退到上个版本
git reset --hard HEAD~n 回退到n次提交之前
git reset --hard commit_id 回退到指定的commit_id,git log 可以查看具体的commit
git push origin HEAD --force 强推到远程库