git 朝花夕拾

git branch -r 查看远程所有分支

git branch -a查看远程和本地所有分支

git branch -d one-one 删除本地已合并的分支one-one

git branch -D one-one 删除本地未合并的分支one-one (好像也能删除已合并的分支,亲测)

git push origin --delete one-one 删除远程分支one-one

 

git remote -v 如果有多个远程仓库,此命令将全部列出

git remote add origin https://github.com/test/test.git 在https://github.com/test/test.git创建远程仓库,命名为origin

 

git add .  将工作时所有变化提到暂存区,包括文件内容修改及新文件,但不包括被删除的文件

git add -u 仅监控已经被add的文件即tracked file,会将被修改的文件提到暂存区。不会提交新文件

git add -A 以上两者的集合:即文件修改 添加新文件 被删除的文件 

 

git commit  https://blog.csdn.net/qianxuedegushi/article/details/80311358

git commit -m “message”

git commit -a -m “message”

git commit --amend

 

git log 查看版本库中的commit-d

git log -1 最近的commit-id

git log  viewmontroller.m 查看某文件的提交历史  https://www.cnblogs.com/softidea/p/4920429.html

 

git fetch  + git merge origin/master  = git pull

git fetch 拉取远程仓库的变更到本地仓库

git merge origin/master 将远程的变更,合并到本地仓库的master分支

 

git push https://blog.csdn.net/qq_31411389/article/details/77042934

 

 

vim操作 https://www.cnblogs.com/crazylqy/p/5649860.html

code review 代码审查 https://blog.csdn.net/MessiGodLike/article/details/78422833

    https://blog.csdn.net/wongdei123321/article/details/79012466

    https://blog.csdn.net/MessiGodLike/article/details/78421049

 

git diff 不加参数,默认比较工作区和暂存区

git diff commit-id  比较工作区和指定commit-id的差异

git diff --cached 查看暂存区和最新本地版本库(本地库最近一次commit的内容)

git diff --cached filepath 查看某文件暂存区和最新本地版本库(本地库最近一次commit的内容

git diff --cached [] 查看暂存区和指定commit-id的差异

git diff [] [] 比较两个commit-id的差异

git diff 打补丁

https://www.cnblogs.com/qianqiannian/p/6010219.html

 

git reset (https://blog.csdn.net/alphapersonality/article/details/80581730)

git reset HEAD  回退一个版本,且会将暂存区的内容 和 本地已提交的内容全部恢复到未暂存状态,不影响本地文件(未提交的也不影响)。  =》未暂存

git reset --soft HEAD  回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不影响)。  =》暂存区

git reset --hard HEAD 回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地文件也将被恢复的版本代替  =》本地

git reset HEAD viewmontroller.m   将某文件回退到HEAD版 https://www.cnblogs.com/softidea/p/4920429.html

git reset --merge 取消合并

 

git rebase 衍合操作,功能与git merge相似;补丁 https://www.cnblogs.com/pinefantasy/articles/6287147.html

 

git revert 如果我们想恢复之前的某一版本(该版本不是merge类型),但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法(与reset有部分相似)  https://blog.csdn.net/yxlshk/article/details/79944535

 

git rm file_path  = rm file(手动删除文件) +  git add file_path 删除暂存区或分支上的文件,同时工作区也不用这个文件了   

git rm --cached file_path 删除暂存区或分支上的文件,但 本地有需要使用,只是不希望被版本控制

https://www.jianshu.com/p/337aeafc2f40

https://www.cnblogs.com/everfight/p/git_rm_usage.html

 

git cherry-pick :例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick

https://www.cnblogs.com/0201zcr/p/5752771.html

https://blog.csdn.net/qq_27062249/article/details/56671123

https://blog.csdn.net/fightfightfight/article/details/81039050

 

xcuserdata You can safely delete the xcuserdata directories. It basically contains personal settings like breakpoints, user interface layout, open files, automatic snapshots configuration and so on。 https://www.cnblogs.com/wfwenchao/p/4624025.html

清除缓存:git rm --cached 

git rm --cached YHTestGit.xcodeproj/project.xcworkspace/xcuserdata/YHTestGit.xcuserdatad/UserInterfaceState.xcuserstate

UserInterfaceState.xcuserstate

 

git commit  - -amend的使用:

刚提交到git的代码突然发现有bug,改完之后刚提交,又发现好像有个地方这样改改可能会更好些,于是又得提交一次。总是在一个需求上提交可能有时候描述内容都不知道怎么写了,而且总是提交会使提交记录异常难看。因此我们可以使用打补丁的方式进行提交,这就得提到一个命令:git commit  - -amend

在amend的之前我们一般已经提交过一次代码了,用的是git commit -m"提交的描述";在第二次提交时我们用git commit  - -amend,输完这个命令,则命令行会进入vim状态,这时我们可以选择重新编辑上次提交时的 "提交的描述",也可以选择不改,用上次的描述,无论改不改描述都不会产生新的change-id,在提交记录上都只展示一次提交记录。

注:vim命令:

1、ESC按键:使文件切到可编辑状态;

2、q!组合:不保存退出;

3、wq组合:保存退出

 

Sourcetree报错:

From https://gitee.com/denggun/TodayNews

 * branch            master     -> FETCH_HEAD

error: The following untracked working tree files would be overwritten by merge:

TodayNews-master/News/.DS_Store

Please move or remove them before you merge.

Aborting

原因:是由于一些untracked working tree files引起的问题。所以只要解决了这些untracked的文件就能解决这个问题

解决方式:

    打开SourceTree通过命令行,进入本地版本仓库目录下,直接执行

git clean -d -fx

即可。可能很多人都不明白-d,-fx到底是啥意思,其实git clean -d -fx表示:删除 一些 没有 git add 的 文件

git clean -d -fx "U17-master/U17/.DS_Store" 

 

github总结(4)--关于git reset --hard这个命令的惨痛教训 https://blog.csdn.net/liangtaox8/article/details/98176617

你可能感兴趣的:(移动,版本管理)