1.拉取代码
1.1 拉取当前默认分支的代码: git pull.
1.2 拉取某个远程分支(master)的代码到当前分支: git pull origin master.
2.推送代码
2.1 推送当前默认分支的代码: git push.
1.2 推送当前的代码到master分支: git push origin master.
3.分支
3.1 查看本地所有分支以及查看当前所在分支:git branch
3.2 查看所有远程分支:git branch -a
3.3 创建本地分支 :git checkout -b newBranch
3.4 拉取远程分支并创建本地分支:git checkout -b localBranch origin/remoteBranch (localBranch本地分支名称、remoteBranch远程分支名称,建议保持一致,该命令行会自动创建一个本地的分支并关联远程对应的分支)。
3.5 删除本地分支 :git branch -d localBranch
3.6 删除远程分支 :git push origin --delete developer (sourceTree会默认创建一个refs分支,删除命令行为: git push origin -d refs/heads/refs/heads/Swan)
3.7 切换到master分支 :git checkout master
3 .8 合并master分支代码到developer的分支:git merge master(记住需要先将分支切换到developer分支 :git checkout developer).
3.9 合并master分支某一次提交到dev的分支:git cherry-pick commitId (master分支某一次提交的id)
3.10 在现有分支与指定的远程分支之间建立追踪:git branch --set-upstream[branch][remote-branch]
4.文件修改
4.1 查看当前仓库的所有变动(和上一次的提交比较):git status git branch --set-upstream[branch][remote-branch]
4.2 查看当前仓库的所有改动细节 : git diff
4.3 添加当前的某一个文件的修改到缓存 : git add fileName (添加所有修改 git add .).
4.4 提交当前的修改到缓存 :git commit -m '本次修改的信息'
4.5 推送:git push 到远程分支。
4.6 放弃本地的某个文件的修改:
4.6.1 还未提交到缓存(未执行git add): git checkout -- fileName (需要先到fileName所在目录下执行才会有效),如果想要放弃所有的更改 执行 : git checkout . 即可。
4.6.2 如果已经执行了 git add 和 git commit ,但是还没有执行 git push:git reset HEAD fileName (需要先到fileName所在目录下执行才会有效),这个只是从缓存取出来,并没有直接放弃,通过git status还是能够看到 要撤底放弃需要执行: git checkout -- fileName。
4.7 版本回退 :
4.7.1 回退本地仓库的代码reset:
回退到上一次的提交 :git reset --hard HEAD^
回退到上两次的提交: git reset --hard HEAD^^ 或者是 git reset --hard HEAD~2
回退到某一次提交:git reset --hard commit (某一次提交的id)
4.7.2 回退本地仓库的代码revert:
放弃某一次的提交:git revert CommitId
说明: 该操做会重新生成一个新的commitId,但是会保留之前和之后的代码提交 ,比如 :commitId1 ,commitId2,commitId3,commitId4 如果执行了 git revert commitId2,那么代码中会丢弃commitId2的所有修改,保留1,3,4的修改,同时当前最新的HEAD指向的是一个新的修改 commitId5.
总结:reset和revert的区别:revert会产生一次新的提交,并且会保留之前和之后的提交,但是reset是直接重置到某一次的提交,直接回放弃之后的提交。
4.7.3 回退远程仓库的代码:
执行了4.7.3.1 先回滚本地代码,在使用 git push -f 强制推送到远程仓库即可。注意:该操作是不可逆操作,会导致重置之后的代码修改会全部丢失,并且没有提交记录,谨慎使用,除非你非常的确定确实是不需要的。如果是执行4.7.3.2 直接git push到远程仓库即可,改修改是可逆的,可以回退。
5.查看git的历史记录
5.1 查看所有的提交的记录 : git log 或者是 git reflog
5.2 查看某次提交的修改: git show commitId
5.3 查看某一个文件的修改记录 (cd到该文件的目录下执行):
5.3.1 查看filename相关的 commit记录 : git log filename:
5.3.2 查看filename每次提交的修改 : git log -p filename
5.3.3 查看某次提交 filename修改 : git show commitId filename
6 git仓库的配置
6.1 克隆代码 :git clone http://xxxxx
6.2 初始化仓库 :git init
6.3 显示当前仓库的配置 :git config --list
6.4 修改当前仓库的配置 :git config -e
6.5 设置仓库的用户名和邮箱 :git config [--global] user.name"[name]" 和 git config[--global] user.email "[email address]"
7 设置tag
7.1 查看所有的tag : git tag -l 或者是 git tag list
7.2 设置tag :git tag 1.0.0
7.3 设置tag并注释 :git tag -a '1.0.0' -m '这个是tag的注释'
7.4 删除tag : 删除本地:git tag -d 1.0.0 删除远程tag : git push origin :refs/tags/1.0.0
8.回退到某一个tag
8.1 .git checkout -b masterHotFix tag
9.强制合并本地的某个分支
例如 将devRelease强制合并dev分支,让devRelease丢弃自己的更改保持和dev一致
git checkout devRelease//将当前分支切换到主分支
git reset --hard dev //将主分支重置为test分支
git push origin master -force//将重置后的master分支强制推送到远程仓库
10.删除git所有的提交记录
1.Checkout
```
git checkout --orphan latest_branch
```
2. Add all the files
```
git add -A
```
3. Commit the changes
```
git commit -am"commit message"
```
4. Delete the branch
```
git branch -D master
```
5.Rename the current branch to master
```
git branch -m master
```
6.Finally, force update your repository
```
git push-forigin master
```
网友评论