首先明确: HEAD 这是当前分支版本顶端的别名,也就是在当前分支你最近的一个提交
1. 添加远程地址:
git remote add origin http:// ...
git remote -v // 查看远端URL 列表。
2. 设置git的远程地址:
git remote set-url origin http://....
3. git clone 带上自己的用户名和密码
git clone http://userName:password@链接
示例:
git clone https://username:password@git.oschina.net/wdm/familycloud.git
4. 暂存本地修改的内容
git stash
git stash save "本次修改内容log" // save命令可以制定一个该次暂存的名字,帮助你有多个暂存时回忆起你修改的内容。
5. 将暂存区栈顶的内容应用到当前目录
git stash pop
6. 将暂存区栈中的任意一次修改应用到当前目录
git stash apply stash@{1} // 这个stash@{1} 就是对应修改的编号吧, 这个编号可以通过git stash list 来查看
7. 查看暂存的内容列表
git stash list
git stash show 查看暂存的内容
8. 使用强制push的方法:
$ git push -u origin master -f
9. 几种git add比较:
(1)git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
(2)git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
(3)git add -A :是上面两个功能的合集(git add --all的缩写)
10. 回滚代码:
(1)git reset
git reset files : 撤销add操作
git reset --soft HEAD~1 : 撤销了commit提交, 修改的文件还是在的。 它是将顶端的commit 想下移动1个commit, 可以是HEAD~1,HEAD~2, HEAD~3。。。
git reset --hard XXX : 回退到XXX版本,XXX版本之后提交的内容全部清除,不保留提交记录。(直接移动的是顶部的指针)
(2)git revert
重新创建了一个提交用于取消之前的提交达到回滚的目的,会保留之前的提交。
(3)git checkout
git checkout files : 取消本次的修改(清空暂存区中指定文件的修改,慎用!!! )。
git checkout . 清空暂存区中所有修改。
11. 几个常用的操作:
(1)git pull master : 拉去master分支的内容到本地
(2)git add -A : 将本地所有修改添加到暂存区
(3)git commit -m "修改了XXX,添加了XXX,删除了" : 本地提交
(4)git checkout master : 切换到master分支
(5)git merge dev : 将dev分支上的修改merge到master分支上
(6)git push origin master:master : 将本地的master分支修改的内容提交到远端master 分支
12. 本地有修改的情况下拉远端代码流程
1. 暂存本地代码 stash
2. 拉去远端代码 pull
3. 将本地暂存的代码合到分支中,解决冲突。 stash pop 、stash apply , merge,git add -A, git commit -m "修改了XXX,添加了XXX,删除了XXX"