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的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
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 -r
(git 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