初级命令 拉取项目 初次拉取项目也就是克隆项目
1 2 3 4 5 6 7 8 ➜ docments git clone git@repository_url/project_name.git Cloning into 'project_name' ... remote: Counting objects: 14930, done . remote: Compressing objects: 100% (5769/5769), done . remote: Total 14930 (delta 10903), reused 12396 (delta 9013) Receiving objects: 100% (14930/14930), 127.75 MiB | 11.20 MiB/s, done . Resolving deltas: 100% (10903/10903), done . Checking connectivity... done .
注意: git@repository_url/project_name.git
就是git
服务器上项目的ssh
地址 另外项目更新需要用到两个命令:
分支相关
把项目从服务器上拉取下来之后,一般都需要建立一个自己的分支方便开发,比如新建一个本地test
分支
1 ➜ data git:(master) git checkout test
注意: 如果你只是想看看项目里的分支代码,不想新建一个分支,有时候拉取的分支可能包括你想要看的分支,这个时候可以按照下面来做:
1 2 3 4 5 6 7 ➜ data git:(master) git branch -r origin/HEAD -> origin/master origin/init origin/master ➜ data git:(master) git checkout -b init origin/init Branch init set up to track remote branch init from origin. Switched to a new branch 'init'
后面的origin/init
可以省略,默认创建本地的init
分支上游分支为origin/init
. 如果有时候建分支忘了指定本地分支和远端的哪个分支对应,需要设定分支的远端对应分支可以这样,假设我想让我的本地master分支追踪远端的master分支:
1 git branch --track master origin/master
不过貌似这种方式不推荐了 例如远端有个Python分支,那么想让本地分支追踪远端的Python分支,可以:
1 2 git branch --set-upstream-to=origin/Python Python
1 2 git branch -d -r <branch_name> git branch -D -r <branch_name> # 强制删除
1 2 git branch -m <new_name> # 重命名当前分支 git branch -m <old_branch> <new_branch> # 重命名指定分支
有时候远端的分支已经删除了,使用git branch -a
仍然可以看到那些被删除的分支,清除远端分支缓存
1 git fetch origin --prune
提交修改 添加一个新文件,git
不会自动跟踪,需要手动
1 2 3 git add file1 file2 file3 git add . git commit -am "add thefile"
提交代码
关于git push
使用还有很高级的用法,具体参见git push 详解
忽略文件 编辑项目下的.gitignore
文件,添加
1 2 *.txt # 忽略所有的txt文本文件 dir/ # 忽略项目根目录下dir文件夹里所有的文件
查看变更内容
1 git log -p -2 # 查看最近两次提交的历史
配置git 1 2 3 4 5 6 7 8 9 10 git config --global user.name yourname git config --global user.email emailaddress git config --local user.name yourname git config --local user.email emailaddress git config --global core.editor vim
Git错误信息汇总
1 fatal: The current branch master has multiple upstream branches, refusing to push.
解决办法:
1 ➜ git config remote.origin.push HEAD