一.命令
查看帮助
git help
查看本地分支
git branch
查看远程和本地分支
git branch -a
创建一个名为test的分支
git branch test
修改test分支的名字为test1
git branch -m test1
切换到test1分支
git checkout test1
使当前分枝与远程分支关联
git branch --set-upstream-to origin/master
创建并切换到该分支
git checkout -b test
创建并且切换到该分支并且与远程分支关联
Git在Merge时提示(no branch)数据找回
git reflog // 查看操作记录
垃圾收集命令(pruning garbage collection)
git gc
git merge origin/master
把本地代码和已取得的远程仓库最新代码合并
git rm --cached xqshijie.xcworkspace/xcuserdata/admin.xcuserdatad/UserInterfaceState.xcuserstate
二.操作
0.下载远程代码
git clone ssh://xxx@103.10.86.30:29418/projectName_ios && scp -p -P 29418 xxx@103.10.86.30:hooks/commit-msg projectName_ios/.git/hooks/
1.提交代码:
git branch // 查看是否在当前分支
git status // 查看当前分支状态
git pull --rebase // 将服务器最新代码更新至本地
运行项目,如果有冲突,解决冲突,然后:
git add . // 添加至暂存区
git rebase --continue
如果没有冲突,直接执行下面的命令
git push origin master // 将文件推到服务器master分支上
放弃后
回滚已经commit的内容
git log查看需要回滚到那个版本,复制commit id
git reset --hard [commit id]
例如:git reset --hard 8cd5a7cbfb86954a09a739e7d57939a9c8229b4a
追加
git status
git add .
git commit --amend // 追加
切换分支: master —>dev
1.查看:
git branch -a
- master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
2.切换到 dev 分支
git checkout -b dev -t origin/dev
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
3.查看是否切换成功
git branch
- dev
master
二.问题
Unable to negotiate with XXXX port 29418: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
原因:这是由于升级到ubuntu-16.04(Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统)后出现的
解决:修改~/.ssh/config(需要手动创建config文档),加入
<pre><code>
Host *
KexAlgorithms +diffie-hellman-group1-sha1
</code></pre>
网友评论