把远程分支拉到本地
git fetch origin dev
(dev为远程仓库的分支名)
删除远程地址
git remote rm origin
取消这次commit,使用指令git reset --soft HEAD^。
注意此处如果想要连着add也撤销的话,–soft改为–hard;
HEAD^ 表示上一次的commit,也可以写成HEAD~1
如果撤回两次之前的,可以使用HEAD^^或者HEAD~2,以此类推
这两种方法 不太好用的话可以单个文件撤回提交,比如执行
git reset HEAD app/Http/Controllers/Auth/AuthController.php
用户名和邮箱地址的作用
用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。
每次commit都会用用户名和邮箱纪录。
github的contributions统计就是按邮箱来统计的。
查看用户名和邮箱地址:
$ git config user.name
$ git config user.email
修改用户名和邮箱地址:
$ git config --global user.name “username”
$ git config --global user.email “email”
使用ssh 传输的方法
打开本地git bash,使用如下命令生成ssh公钥和私钥对
ssh-keygen -t rsa -C ‘xxx@xxx.com’ 然后一路回车(-C 参数是你的邮箱地址)
然后打开/.ssh/id_rsa.pub文件(表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容
打开gitlab,找到Profile Settings–>SSH Keys—>Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮 ,在拉代码上传就不需要账号密码了。
不需要添加到服务器的文件可以在.gitignore 文件中设置,
本地修改了.gitignore 文件之后,想让他立刻生效的方法是:
1.git rm -r --cached . #清除缓存,将那些隐藏文件进行清除掉,避免再次上传
2.git add . #重新trace file
3.git commit -m "update .gitignore" #重新提交
4.git push origin master #可选,如果需要同步到remote上的话,后面跟的分支名视具体情况而定
git branch -r
输入这个命令后查看远程所有的分支,检查你所需要下拉的分支是否已经在远程仓库底下。
创建一个能够映射远程分支的本地分支并且切换到这个分支上去。
git pull
git checkout -b 分支名 origin/分支名
在服务端修改了文件 拉代码到服务端的时候有时候会出一些问题
这个时候按下面的方式去解决:
1.将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要–hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。
git reset --hard FETCH_HEAD
2.git pull就会成功。
gitignore 生效
在使用git的时候我们有时候需要忽略一些文件或者文件夹。我们一般在仓库的根目录创建.gitignore文件
在提交之前,修改.gitignore文件,添加需要忽略的文件。然后再做add commit push 等
但是有时在使用过称中,需要对.gitignore文件进行再次的修改。这次我们需要清除一下缓存cache,才能是.gitignore 生效。
具体做法:
git rm -r --cached . #清除缓存
git add . #重新trace file
git commit -m "update .gitignore" #提交和注释
git push origin master #可选,如果需要同步到remote上的话
这样就能够使修改后的.gitignore生效。
使用revert 方法撤销一次提交
我在GoLand 编辑器上操作过,就是选择最新的版本,然后右键选择Revert Commit ,就能撤销一个版本的修改。