更改git用户名和邮箱
在使用别人的vscode时,上传代码可能不是自己的用户名,非常不方便,可以使用如下命令:
1、查看自己的git配置,注意gitconfig有时会不显示,切记在一个文件夹下git init,子文件夹中不能再git init,会报错,也就是因为出现了两个gitconfig,无法判定哪个是仓库
cat ~/.gitconfig
2、输入如下命令全局改变自己的用户名和邮箱
git config -global user.name 'XXXXX'
git config -global user.email 'XXXXX'
下载上传代码
在自己本地一个文件夹下git init,通过如上命令配置好之后,(使用git clone '远端仓库地址‘下载别人代码),在本地打开代码之后开始写代码,写完之后,进行如下操作
1、下载别人的代码,以防止别人在pull的时候你不知道,本地还没做更改
git pull
2、把自己的代码上传
git add .
git commit -m '此次注释'
git push
解决冲突
如果别人和你同时改了相同的代码,直接push,很可能导致冲突push不成功
1、首先将自己的代码放入本地栈中
git stash
2、pull别人的代码
git pull
3、取出自己的代码
git stash pop
注意,此时文件树区会看到很多的红色,依次打开,可以看到你和别人的不同之处,根据代码上面小字的选择current change or incoming change。之后可能看到文件树区有红色感叹号,但是代码中无错误,这是因为git版本的问题,直接git push就可以了
分支
1、创建分支
git branch <branch name>//新建分支
2、切换分支
git checkout <branch name>
3、删除分支
git branch -d <branch name>//删除一个被终止的分支
git branch -D <branch name>//删除一个正打开的分支
4、查看分支
git branch //查看本地所有分支
git branch -r //查看远程所有分支
git branch -a //查看本地和远程的所有分支
5、git fetch 和 git pull区别
git fetch <远程主机名> //这个命令将某个远程主机的更新全部取回本地
git fetch <远程主机名> <分支名> //注意之间有空格,只想取回特定分支的更新
git log -p FETCH_HEAD//取回更新后,会返回一个FETCH_HEAD ,指的是某个branch在服务器上的最新状态,我们可以在本地通过它查看刚取回的更新信息
git fetch//是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git pull //是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决