Git 常用命令

Git仓库操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
git push origin --delete <branchName> 删除远程分支, git branch -d <branchName> 删除远程分支
git push origin --delete tag <tagname> 删除远程**tag**
git stash 将当前分支中未提交的commit暂存起来(暂存工作现场,去别的分支coding),可以多次**stash**
git stash list 列出当前分支存储的工作现场(未提交的代码),
git stash apply stash@{0} 指定恢复某一个**stash**
git stash apply 恢复分支中暂存的工作现场(未提交的代码), git stash drop 删除暂存的工作现场
git stash pop 恢复分支中暂存的commit,同事暂存的commit也删除了
git status -s 命令打印出来的信息前面 AM 意思是文件在我们添加到缓存之后又有改动(不是最新的) D 表示文件目前被删除了 ...等等 (这些以后再添加)
git config --global core.autocrlf input *git add* 的时候出现warning :LF will be replaced by CRLF 警告。是在两个系统中空格和换行不一样
git reset HEAD 取消缓存已缓存的内容,取消之前git add添加但不包含在下一提交快照中的缓存
git log 查看Git 操作命令记录(提交记录)
git reglog 查看命令历史
git reset --hard 撤销一次提交(commit)
git reset --hard 2345d 指向2345d版本(回滚到2345d那次提交)
git revert 2345d 撤销2345d的提交,将这次回滚写入提交记录,以便推送到远程仓库(多人合作)
git branch 命令没有参数的时候,列出本地的分支,所在的分支行首会有一个*号
git branch <分支名> 创建一个新的分支 git checkout <分支名> 切换到指定分支。
git checkout -b <分支名> 如果分支存在则切过去,不存在则创建切过去。
git branch -d <分知名> 删除一个分支。
git push origin --delete <branchName> 删除远程分支。
git merge 将一个分支并入当前的分支中去
git tag xxx 给历史记录中的某个重要时刻打上一个标签,git tag -a < ooxx> 给这个标签注释
git diff --shortstat "@{0 day ago}" 查看今天写了多少代码
ssh-keygen -t rsa -b 4096 -C "hi.wudong#gmail.com" 创建sshkey
.gitignore 文件用于忽略文件的进行提交。前提是该文件没有写入快照中!( .gitignore只适用于尚未添加到git库的文件。如果已经添加了,则需用 git rm --cached移除后再重新commit)
git push origin --delete branchname4 删除本地或者远程一个分支
git remote set-url origin [url] Git修改远程仓库地址 OR 先删后加 git remote rm origin
1
git remote add origin [url]

Git 同步Fork过来的分支

  1. 添加Fork过来的仓库地址

    git remote add (fork_address) git@github.com/....

  2. 拉取Fork仓库的

    git fetch fork_address

  3. 切换到本地分支

    git checkout master

  4. 将fork_address 分支合并到本地分支 本地的 master 分支便跟上游仓库保持同步了,并且没有丢失你本地的修改。

    git merge fork_address/master

  5. 本地分支已经跟Fork过来的分支同步了,同时要推送到远程仓库中去

    git pull origin master