一、创建仓库
git init
:初始化仓库git add
:添加文件到暂存区git commit
:把暂存区的内容提交到当前分支
二、修改文件
git status
:当前仓库状态git diff
:查看修改前后的差异$ git diff Readme.txt diff --git a/Readme.txt b/Readme.txt index e69de29..c23da0c 100644 --- a/Readme.txt +++ b/Readme.txt @@ -0,0 +1 @@ +this is a git. \ No newline at end of file
三、版本回退
git log
:查看提交记录(详细信息)git log --pretty=oneline
:查看提交记录(每个记录只显示一行)$ git log --pretty=oneline f3c9948c90e6a26c0a48c983ad3cae8334f98d13 (HEAD -> master) learn b57d4edcdfc783a1ecf88f8f18c718e4d4bfb348 newer d0ca8e90b4f713e995e755d0c3d681e839790bd5 init
git reset --hard HEAD^
:回退到当前版本的前一个版本,因为HEAD
代表当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
$ git reset --hard HEAD^ HEAD is now at b57d4ed newer $ git log --pretty=oneline b57d4edcdfc783a1ecf88f8f18c718e4d4bfb348 (HEAD -> master) newer d0ca8e90b4f713e995e755d0c3d681e839790bd5 init
git reset --hard <commit_id>
:重新设置回某一个commit_id$ git reset --hard f3c9948c90e6a26c0a48c983ad3cae8334f98d13 HEAD is now at f3c9948 learn $ git log --pretty=oneline f3c9948c90e6a26c0a48c983ad3cae8334f98d13 (HEAD -> master) learn b57d4edcdfc783a1ecf88f8f18c718e4d4bfb348 newer d0ca8e90b4f713e995e755d0c3d681e839790bd5 init
git reflog
:查看每一次提交命令$ git reflog f3c9948 (HEAD -> master) HEAD@{0}: reset: moving to f3c9948c90e6a26c0a48c983ad3cae8334f98d13 b57d4ed HEAD@{1}: reset: moving to HEAD^ f3c9948 (HEAD -> master) HEAD@{2}: commit: learn b57d4ed HEAD@{3}: commit: newer d0ca8e9 HEAD@{4}: commit (initial): init
四、撤销修改
git checkout -- file
:丢弃工作区的修改。如果尚未放到暂缓区的修改,将会撤回到和版本库一模一样的状态;如果添加到暂缓区之后又做了修改,则恢复到添加到暂缓区后的状态。git reset HEAD <file>
:将暂缓区的修改退回到工作区。
五、删除文件
git rm
:从暂缓区删除文件(同git add
类似)
六、远程仓库
cat ~/.ssh/id_rsa.pub
:查看本地SSH Keyssh-keygen -t rsa -C "youremail@example.com"
:如果本地没有SSH Key,则创建一个git remote add origin ***
:把本地仓库关联到远程仓库git push -u origin master
:把本地代码推送到远程仓库的master分支git clone ***
:克隆远程仓库到本地
七、分支管理
1.创建分支
git checkout -b your_branch_name
:基于当前最新节点创建了一个新的本地分支git push origin your_branch_name
:把创建出来的本地分支提交到远程仓库
2.合并分支
git merge --no--ff branch
:可以保存你之前的分支历史。能够更好的查看 merge历史,以及branch 状态。git commit --amend
:追加commit,生成changeid
3.更新远程分支
git remote update origin --prune
:更新远程分支
八、修改change-id
git commit --amend
:追加提交,继续使用旧的change-id.git commit –amend -m“…”
:你已经删除了change-id,所以gerrit生成新的