git相关常见命令

1.配置身份:git config --global user.name "RookieJay"
git config --global user.email "xxx@qq.com"
2.找到项目文件夹 git init 在此项目下添加代码仓库
3.git add . 表示添加此文件夹下所有文件到代码仓库
4.git commit -m "description" 提交并添加描述
5.git clone https://github.com/yourname/reponame.git 将代码下载到本地
6.做完对代码的修改后用git push origin master 同步(推到远程仓库),其中origin是远程版本库的git地址,master是指同步到哪一个分支
(关于分支,git branch 可以查看所有分支,*表示当前所处分支.git branch test表示添加一个test分支,git branch -d test 表示删除test分支)
在git push origin master时若提示
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
就执行下面语句:
git remote add origin git@github.com:RookieJay/ssm.git  表示添加指定同步的git项目地址
再执行git push origin master
7.切换分支

git check out <分支名>

查看远程分支:git branch -al

8.切换到远程分支

假如说我现在从一个远程仓库中clone项目下来,默认会是master分支,可是我要在远程的dev分支上进行开发,那么可以用

git branch -al查看远程分支的名字,然后git checkout -t origin/dev 进行切换

9.https 和 SSH 的区别:

  1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。

  2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

详情:github设置添加SSH

10.git fetch 做了些什么

git fetch 完成了仅有的但是很重要的两步:

 但是git fetch 并不会改变你本地仓库的状态。它不会更新你的 master 分支,也不会修改你磁盘上的文件,可以将 git fetch 的理解为单纯的下载操作。

11.git pull

  • 从远程仓库下载本地仓库中缺失的提交记录
  • 更新远程分支指针(假设为 o/master)

git pull 就是 git fetch + git merge o/master

当你想要 push 你的新提交时,发现远程仓库在你上次拉取以后已经又有了改变,也就是说你的新 commit 是基于旧提交的修改,这种情况下 Git 是不允许你进行 push 操作的,你需要使自己的工作基于远程的提交,这个过程可以用以下命令:

  • git fetch; git merge o/master
  • git fetch; git rebase o/master
  • 最简单的当然还是 git pull -rgit pull --rebase 的缩写)

然后再 git push 就没问题了。

第10-11条来自链接:https://www.jianshu.com/p/b37ff443de15

12.将本地分支和远程分支关联起来

   比如我在本地创建了个仓库,默认本地是master分支,我在github上新建个远程仓库,远端仓库默认也是master,通过git branch -al可以查看到是remotes/origin/master,本地有个test.txt文件,远端有个readme.md文件,此时两端未做关联,所以即使我执行了git remote add origin xxx以后,push的时候也会提示:

所以根据提示,执行 git branch --set-upstream-to=origin/master master后就完成了本地分支与远程分支的关联。再执行push就可以了。

13.恢复本地误删的文件/文件夹

先执行git status看看delete的文件/文件夹

再使用git reset head [文件/文件夹名称(文件夹带路径如../server)],该操作是拉取最近一次提交到版本库的文件到暂存区,并且该操作不影响工作区,这里的head指的是当前版本库的游标,也就是指向最近一次更改的地方,版本库可以使用git log查看。

最后git checkout [文件/文件夹名称]就恢复完了

详解请看:git reset HEAD

14.清空之前所有commit记录

1、建立‘孤立’的分支     git checkout --orphan latest_branch

2.添加所有文件        git add -A

3.提交更改          git commit -m "commit message"

4.删除分支          git branch -D master

5.将分支重命名        git branch -m master

6.最后,强制更新         git push -f origin master

来源:缘由:clone其他的代码,中间有commit记录,需清除

15.代理查看、设置、取消

  • 设置

        git config --global http.proxy 'http://127.0.0.1:7890'

        git config --global https.proxy 'http://127.0.0.1:7890'

  • 查看

        git config --global --get http.proxy

        git config --global --get https.proxy

  • 取消       

        git config --global --unset http.proxy

        git config --global --unset https.proxy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值