用 Git 做版本控制比 SVN 更灵活些,现在大部分公司也在尝试用 Git 了,在这记录一下常用的命令,以便使用的时候翻阅。

17001269427154.png

基础命令

1. 将某一个项目使用 git 进行管理,只需到项目所在目录,执行 git init

2. 将项目文件纳入版本管理,首先 add ,然后 commit ,然后 push 就 ok

git add *
git add README
git commit -m 'init project'

3. 从现有仓库克隆 git clone git 地址

4. 检查当前文件状态 git status

5. 跟踪新文件 git add file

6. 忽略某些文件

cat .gitignore
*.[oa]
*~

7. 查看尚未缓存的文件更新了哪些部分 git diff

8. 查看已经暂存起来的文件和上次提交的快照之间的差异 git diff --cached

9. 提交更新 git commit -m ‘说明’

10. 将已经跟踪的文件从已跟踪文件清单移除 git rm --cached file1

11. 对已跟踪的文件进行重命名 git mv file1 file2

12. 查看提交历史 git log

13. 修改最后一次提交的备注信息 git commit --amend

14. 取消已经缓存的文件 git reset HEAD file1

15. 取消对文件的修改 git checkout --file1

16. 查看远程分支 git remote

17. 查看远程分支并显示克隆地址 git remote -v

18. 从远程仓库抓取数据 git fetch [remote-name]

19. 推送数据到远程仓库 git push origin master:master

20. 查看远程仓库信息 git remote show origin

21. 远程仓库的重命名 git remote rename 旧名称 新名称

22. 删除远程仓库 git remote rm 名称

23. 列出现有标签 git tag

24. 新建标签 `git tag -a 标签名 -m '备注'

25. 分享标签,即就是推送标签到远程仓库 git push origin 标签名

26. 推送所有标签 git push origin --tags

27. git命令别名 git config --global alias.co checkout

分支命令

1. 查看目前的所有分支 git branch

2. 新建分支 git branch 分支名

3. 切换到新分支工作 git checkout 分支名

4. 新建分支并切换到新分支工作 git branch -b 分支名

5. 合并分支,先切换到目标分支下:git checkout master , 再将待合并分支代码合并到目标分支:git merge待合并分支名

6. 删除作废分支 git branch -d 待删除分支名

7. 查看所有分支并显示最后一次提交的信息 git branch -v

撤销回滚命令

1. 取消对文件在缓存区:

git reset HEAD fileName

2. 取消对文件的修改

git checkout fileName

3. 取消 commit 操作(hard:不保留源码,mixed:保留源码并且还原添加缓存和 commit,soft:保留源码,只还原到 commit 步骤,不还原添加缓存)

git reset --hard HEAD^
git reset –mixed HEAD^
git reset --soft HEAD^

或者

git reset hard HEAD~2

4. 如果修改已经 push, 则使用 revert

  1. 获取提交标识:git log
  2. 回滚版本:git revert 提交标识
  3. 修改提交描述,再次 push 。git push origion master

配置用户信息

  1. git config --global user.name “xx"
  2. git config --global user.email xx@xx.com
  3. 公司自签名ssl证书不受信任的问题解决: git config --global http.sslVerify false