git 是用于解决多人协作和软件版本迭代的好工具,掌握git的使用是计算技术人员的必备技能。后续我们在开发代码时,会大量使用到git,所以掌握必要的git编辑能力很重要,可以避免版本冲突,便于版本管理和备份。

推荐的git学习资源

基本的命令

请务必掌握以下命令的使用:

1
2
3
4
5
6
7
8
9
git clone <remote-url>
git fetch <remote name> <remote branch name> #下拉到本地仓库,一般定义remote_name为origin,是一个约定成俗的名字
git merge FETCH_HEAD <local branch name> #本地仓库合并
git add #一般后面跟.表示推送全部
git commit -m "评论" #提交到本地仓库
git push <remote name> <local branch name> #提交到远程仓库
git branch -a
git branch <new branch name>
git checkout <new branch name>

本部分掌握后,再考虑掌握进阶的使用。

其他常见命令

1
2
3
4
5
6
7
8
git log # 查看本地git提交日志
git log -1 # 显示1行日志 -n为n行
git show HEAD # 显示HEAD提交日志
git show HEAD^ # 显示HEAD的父(上一个版本)的提交日志 ^^为上两个版本 ^5为上5个版本
git merge origin/master # 合并远程master分支至当前分支
touch # 创建文件
ls # 列出目录下文件
vi # 进入命令

Git分支操作

1
2
3
4
5
6
7
8
9
10
11
12
13
git checkout -b <branchname> # 创建新分支并切换到该分支
git checkout <branchname> # 切换分支命令
git branch # 查看所有分支
git branch <new branch name> # 生成新分支
git branch -r #查看远程分支
git branch -a # 查看所有本地和远程分支
git merge <branchname> # 将其他分支合并到当前分支,也适用于远程
git branch -d <branchname> # 删除分支,不能删除当前所在的分支
git branch -D <branchname> # 强制删除分支
git branch --no-merged # 显示所有未合并到当前分支的分支
git branch -m master master_copy # 本地分支改名
git branch -vv
git fetch origin --prune # 将远程更新到本地

Git解决冲突

适用于两个分支或者多个分支都发生变化时,合并两个分支时会发生错误 Merge
进行合并选择

Git远程连接

1
2
3
4
5
6
7
8
9
git init # 在此进行git操作
git remote add origin <URL地址> # origin是对远程仓库默认的名称,约定成俗
git remote # 用于查看关联了哪些远程仓库
git push origin <本地分支> # 提交分支到远程仓库
git push [-f] [--set-upstream] origin <本地分支>:<远程分支> # 远程分支名字一样时可以省略不写; [-f]为强制覆盖,一般用不上;[--set-upstream] 为本地分支和远程分支建立关联绑定
git push # 当远程仓库和本地分支建立关联后可以直接push
# 拉取和抓取的区别
git fetch <remote name> <remote branch name> # 抓取,将仓库里的更新都抓到本地,但不合并,需要merge合并
git pull <remote name> <remote branch name> # 拉取,将仓库里的修改都拉到本地自动合并,相当于fetch+merge