git及常用命令

Git/版本控制
451
0
0
2022-06-26
标签   Git基础

git及常用命令

Git是一个快速,开源,分布式的版本控制系统,用来保留工程源代码历史状态的命令行工具,类似于SVN,CVS或者Perforce等工具。

通过 git commit告诉 Git 你想保存一份代码快照, Git 就会为你的项目中的各个文件的当前状态存一份记录。之后,绝大部分的 Git 命令都围绕这些记录展开。 比如查看它们的区别(diff),提取它们的内容等.

git仓库,存放你要保存快照数据(本地初始化一个目录)

安装git,并初始化

Git初始化配置

1) 配置使用git仓库的用户名

git config --global user.name "Your Name Comes Here"

2) 配置使用git仓库的邮箱

git config --global user.email 'xxx'

便于远端区分commit对应提交人的信息

生成SSH密钥过程

(通过邮箱生成)

$ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com”

设置密码,或默认为空

最后得到了两个文件:id_rsa和id_rsa.pub

将id_rsa.pub的内容添加到远端公钥管理即可

命令说明列表

1. 将一个目录初始化为Git仓库

git init

生成目录如下:./ ../ .git/

2. 显示文件列表

ls(ll, ll -ah)

克隆一个Git仓库到本地

git clone git://xxxxx.git

3. 查看文件在工作目录与缓存的状态

可以得知哪些文件发生了变化,哪些文件还没有添加到git库中

git status

4. 将当前工作目录中更改或者新增的文件加入到Git的索引

加入到Git的索引中就表示记入版本历史中,这也是提交之前所需要执行的一步。

git add --all

或者

git add 单个文件

git及常用命令

“AM” 状态是该文件在将它添加到缓存之后又有改动。这意味着如果现在提交快照, 我们记录的将是上次执行git add的时候的文件版本,而不是现在在磁盘中的这个。 Git 并不认为磁盘中的文件与你想快照的文件必须是一致的 —— (如果你需要它们一致,)得用 git add命令告诉它。

5. 显示已写入缓存与已修改但尚未写入缓存的改动区别

git diff

6. 记录缓存内容的快照

-m 选项以在命令行中提供提交注释

-a 想要快照所有所做的改动的时候执行

-n 代码不校验语法规范

git commit -a -n -m '提交信息描述'

7. 取消缓存已缓存内容

git reset HEAD <filename> to unstage

8. 将文件从缓冲区删除

删除 Git 追踪的文件。它还会删除你的工作目录中的相应文件。

git rm

9. 显示当前分支

git branch

10. 显示所有分支(包括远端分支)

git branch -a

11. 切换到新的分支

git checkout <branchname>

若创建并切换分支

git checkout -b <branchname>

12. 合并分支

git merge

合并冲突

13. 删除远端分支

git branch -r -d origin/<branchname>

git push origin :branchname

14. 将本地commit的代码更新到远端仓库

如果远端有该分支则合并;如果没有则创建

git push origin branchanme

15. 从服务器的仓库中获取代码,和本地代码合并

git pull (或 git pull origin branchname)

16. 从服务器拉取分支,并在本地创建分支

git fetch origin branchname:banchname

17. 查询远端仓库信息

git remote -v

18. 查看历史日志,包含每次的版本变化。

每次版本变化对应一个commit idgit log

git log -1

-1的意思是只显示一个commit,如果想显示5个,就-5。不指定的话,git log会从该commit一直往后显示。

19. 显示某个特定作者的提交

git log –author( git log --author='jackie')

20. 添加一个远端仓库

git remote add

21. 删除一个远端仓库

git remote rm

22. 合并多个commit

git rebase -i HEAD~X

完成后git push -f (或者 git push origin branchname -f )

rebase前一般要git log查看需要合并的几个连续的commit

23. 图形化展示commit

git log --graph --pretty

24. 版本操作

git tag 显示所有版本(创建,删除等此处省略)

25. 文件暂存

git stash push 将文件给push到一个临时空间中

git stash pop 将文件从临时空间pop下来

最后,建议安装、使用tig工具,是图形化的git工具,但是命令弱于git,可以组合使用。

参考文档:

https://git-scm.com/

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

https://github.com/git/git/