远程仓库
1 2 3 4
| 克隆远程服务器端的代码到本地代码仓库 git clone [url] 将本地代码仓库添加到远程仓库 git remote add [shortname] [url]
|
更新提交
文件状态: 已跟踪、未跟踪,已跟踪指纳入版本控制的管理的文件,该种文件已经纳入缓冲区,它可又有两种状态为未修改和已修改。而未跟踪文件指未纳入缓冲区的文件。
![git_state][images/git_state.png]
1 2 3 4 5 6 7 8 9 10 11 12
| 跟踪某个文件 git add <filename> .选项会把已修改的和添加的文件放入缓冲区不包括被删除文件 git add . -u会把更新的文件和被删除文件放入缓冲去区 git add .-u -A提交所有变化 git add -A 提交更新并加上提交注释 git commit -m 修改最后一次提交,比如发现漏掉了几个文件没有加,或者提交信息写错了 git commit --amend
|
当分支与master冲突的文件是.mo二进制文件时,此时我们没法手动rebase,那么我们可以使用如下操作
1 2 3
| git rebase master git add -u git rebase --continue
|
和我们正常的rebase是一样的。
显示信息
1 2 3 4 5 6 7 8
| 确定文件状态 git status 查看提交历史,会显示commit id等信息,对于版本回退会有很大帮助,退出按q键 git log --graph 选项可以以一种便于查看的方式显示提交信息 git log --graph 查看具体修改了什么地方 git diff
|
分支
1 2 3 4 5 6 7 8 9 10 11 12
| 创建并切换分支 git checkout -b <branchname> 合并分支一般在master上合并其他分支 git merge <branchname> 删除分支 git branch -d <branchname> 删除远程分支 git push [远程名] :<branchname> 衍合 git rebase <target branchname> 等价于(master为target branchname) git rebase master server
|
撤销
1 2 3 4 5 6
| 回退到某次提交(即HEAD指针回到某个状态,之前的commit都没有变化) git reset <commit id> 或者 git reset --hard <commit id前6位> 回退到某次提交,相当于一次新的commit git revert <commit id>
|
保持分支同步更新
克隆操作会自动使用默认的master 和origin 名字。
1 2 3 4 5 6
| 到远程仓库中拉取所有你本地仓库中还没有的数据,但不会自动合并 git fetch [remote-name] 到远程仓库中拉取所有你本地仓库中还没有的数据,并自动合并 git pull 推送数据到远程仓库 git push [remote-name] [branch-name]
|