git 团队使用
新手使用
-
下载安装git
sudo apt-get install git
-
克隆代码仓库
git clone url
-
设置本地保存用户名和密码:为了不必每次都输入用户名和密码
git config --global credential.helper store # 如果只需要临时保存,可以使用一下命令 git config --global credential.helper cache
-
查看当前分支
git branch # 显示结果中,前面带*号的为当前分支
-
切换到工作分支中
# 执行以下命令查看所有本地和远程分支 git branch -a
以下为输出信息:
*master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/master remotes/origin/test remotes/origin/tzb remotes/origin/wk remotes/origin/wyc
现在我要切换到我的开发分支上:
git checkout wyc # 该命令会创建一个本地分支wyc,并自动跟踪(关联) 远程分支(即远程仓库中的分支)
以下为输出信息:
分支 wyc 设置为跟踪来自 origin 的远程分支 wyc。 切换到一个新分支 'wyc'
现在我可以在该分支上修改我的代码了
-
提交修改
当我修改代码后,即可将当前的代码状态保存为一个记录
# 查看当前的代码状态,如果有文件被修改,那么执行改命令就会有提示 git status # 将所有修改的代码提交的缓存区 git add . # 将缓存区代码提交(此时还是保存在本地) git commit -m '说明'
-
将代码推送到服务器(远程仓库)
# 该命令默认推送当前分支到服务器,push之前最好先检查自己所在的分支(git branch) git push
其他重要操作
用户身份
-
管理员
- 维护master分支,将master分支设置为保护分支,其他分支设置为常规分支
- 合并各个开发开发者的代码
-
开发者
- 开发者在自己的分支上修改并提交代码
- 提交自己的分支到仓库。
操作
-
添加远程仓库
git remote add <shortname> <url>
-
查看当前远程仓库
git remote -v
-
fetch , pull , clone 的区别
-
git fetch [remote-name]
这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。 -
git pull [remote-name]
自动的抓取然后合并远程分支到当前分支。 -
git clone [remote-name]
会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支
-
分支操作
-
新建分支
git branch iss53
-
切换到新建的分支
git checkout iss53
-
上面两条命令合并为一个:
git checkout iss53
合并分支
-
将开发分支iss53合并到master分支上,先转到master分支上,在进行合并
git checkout master git merge iss53
-
如果一个分支已经没有用了,可以删除它
git branch -d iss53
合并时遇到冲突
如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没法干净的合并它们。
执行git merge <branchName> 时如果遇到分支冲突,就会提示合并冲突
使用git status 命令来查看当前的冲突
当有冲突时,git会在有冲突的文件中加入标记,待手动解决后,执行:
git add <文件名> 将文件标记为冲突已解决
最后执行 git commit -m '说明' 来完成合并并提交
本地跟踪非master分支
-
当我们直接执行clone命令时,默认跟踪的是远程的master分支,如果想要跟踪其他分支,需要设置:
git checkout -b [branch] [remotename]/[branch]
该命令有一个简洁写法:
git checkout --track [remotename]/[branch]
-
如果想给当前的分支更改跟踪对象,:
git branch -u origin/(branchName)
git将密码永久保存在本地
-
将账户密码保存
git config --global credential.helper store
-
如果为临时保存:
git config --global credential.helper cache
git切换到以前的记录
-
显示所有的提交记录
git log --pretty=oneline
-
切换到之前的记录
下面这个命令将版本回退
git reset --hard <记录编号>
下面这个命令将建立一个新分支
git checkout branchName <记录编号>
只需要记录编号的前几位当切换到以前的版本后,再执行
git log
将看不见当前版本之后的记录,若要找回丢失的记录,可以使用
git log -g
,此时可以看见丢失的记录,
可以使用git checkout <记录编号>
切换回来,或者使用 :git branch <newBranchName> <记录编号>
来创建一个新的分支.