কেন আমি সারাক্ষণ `--set-upstream` করা দরকার?


1464

আমি গিটে একটি নতুন শাখা তৈরি করছি:

git branch my_branch

এটা ধাক্কা দাও:

git push origin my_branch

এখন বলুন যে কেউ সার্ভারে কিছু পরিবর্তন করেছে এবং আমি এটি থেকে টানতে চাই origin/my_branch। আমি করি:

git pull

তবে আমি পেয়েছি:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.

If you often merge with the same branch, you may want to
use something like the following in your configuration file:

    [branch "my_branch"]
    remote = <nickname>
    merge = <remote-ref>

    [remote "<nickname>"]
    url = <url>
    fetch = <refspec>

See git-config(1) for details.

আমি শিখেছি যে আমি এটি দিয়ে কাজ করতে পারি:

git branch --set-upstream my_branch origin/my_branch

তবে আমি কেন তৈরি প্রতিটি শাখার জন্য আমার এটি করা দরকার? এটি কি স্পষ্ট নয় যে আমি যদি ধাক্কা my_branchদিয়ে origin/my_branchথাকি তবে আমি pull origin/my_branchোকাতে চাই my_branch? আমি কীভাবে এটি ডিফল্ট আচরণ করতে পারি?


21
ডিফল্টটির branch.autosetupmergeঅর্থ এই যে কোনও নতুন শাখার জন্য প্রবাহের কনফিগারেশনটি কেবলমাত্র স্বয়ংক্রিয়ভাবে সেট হয়ে থাকে যখন দূরবর্তী ট্র্যাকিং শাখা (যেমন <remote-name>/<branch-name>) ( গিট-কনফিগার (1) দেখুন) থেকে একটি শাখা তৈরি করা হয় । আপনি সম্ভবত বিদ্যমান স্থানীয় শাখাগুলি থেকে আপনার শাখাগুলি তৈরি করছেন। যদি আপনি কার্যকরভাবে কোনও দূরবর্তী শাখার ডগা থেকে স্থানীয় ব্রাঞ্চে (স্থানীয় শাখায় থাকা সত্ত্বেও) সরাসরি শাখা করছেন, তবে আপনি git branch my_branch <remote-name>/<branch-name>স্বয়ংক্রিয়ভাবে আপস্ট্রিম কনফিগারেশন সেটআপ করতে ব্যবহার করতে পারেন ।
ক্রিস জনসেন

20
এফওয়াইআই, --set-upstreamবিকল্পটি হ্রাস করা হয়েছে। আপনার ব্যবহার করা উচিত --trackবা --set-upstream-toপরিবর্তে।
বিন

139
যদি --set-upstreamঅবহেলিত হয়, তবে সম্ভবত গিট ডিভসের সাহায্যের বার্তা থেকে এটি সরিয়ে নেওয়া উচিত যা আপনি যখন git pushকোনও বিকল্প ছাড়াই চালিত হন এবং কোনও প্রবাহ সেট করা থাকে না তখন প্রদর্শিত হয়?
ক্রিস্টোফার হান্টার

17
আপনার ক্রাইস্টোফার হান্টার আপনার মন্তব্য করার পরে এক বছর পেরিয়ে গেছে এবং এখনও তা বলে। এটি কি কেবল একটি আড়ম্বরপূর্ণ প্রতিক্রিয়া বা এটি অবগত করার কোনও প্রযুক্তিগতভাবে বুদ্ধিমান কারণ আছে যা আমরা অজ্ঞ?
কনরাড ভিল্টারস্টন

15
@ ক্রিস্টোফারহান্টার অবমূল্যায়িত git branch --set-upstreamহয়েছে। git push --set-upstreamএটি না.
ব্রায়ান গর্ডন

উত্তর:


1536

একটি শর্টকাট, যা git branch --set-upstream 1 এর সিনট্যাক্স মনে রাখার উপর নির্ভর করে না তা করা:

git push -u origin my_branch

... তুমি যখন প্রথম সেই শাখাটি ধাক্কা দাও। বা, একই নামের একটি শাখায় বর্তমান শাখায় ঠেলাঠেলি করতে (কোনও নামের জন্য সহজ)

git push -u origin HEAD

আপনার কেবল -uএকবার ব্যবহার করা দরকার , এবং এটি আপনার শাখা এবং একটিতে originএকইভাবে সংযোগ স্থাপন করে git branch --set-upstreamdoes

ব্যক্তিগতভাবে, আমি মনে করি আপনার শাখা এবং দূরবর্তী অঞ্চলে একটির মধ্যে স্পষ্টভাবে সংযুক্তি স্থাপন করা ভাল জিনিস। এটি কেবল লজ্জাজনক যে নিয়মগুলি এবং এর জন্য পৃথকgit pushgit pull


1 এটি নির্বোধ শোনায় তবে আমি প্রায়শই বর্তমান শাখাটি নির্দিষ্ট করতে ভুলে যাচ্ছি এটি ডিফল্ট বলে ধরে নিয়েছে - এটি নয়, এবং ফলাফলগুলি সবচেয়ে বিভ্রান্তিকর :)

আপডেট 2012-10-11 : দৃশ্যত আমি একমাত্র ব্যক্তি নই যিনি এটির পক্ষে ভুল পাওয়া সহজ হয়েছিল! ভনসিকে ধন্যবাদ জানাতে যে গিট ১.৮.০ আরও সুস্পষ্টর সাথে পরিচয় করিয়ে দিয়েছে git branch --set-upstream-to, যা আপনি শাখায় থাকলে নিচের মত ব্যবহার করা যেতে পারে my_branch:

git branch --set-upstream-to origin/my_branch

... বা সংক্ষিপ্ত বিকল্পের সাথে:

git branch -u origin/my_branch

এই পরিবর্তনটি এবং এর যুক্তিগুলি গিট 1.8.0 এর জন্য প্রকাশিত নোটগুলিতে বর্ণনা করা হয়েছে , মুক্তির প্রার্থী 1 :

এটি বলার জন্য লোভনীয় ছিল git branch --set-upstream origin/master, তবে এটি গিটকে স্থানীয় শাখাকে origin/masterবর্তমানে চেক করা শাখার সাথে সংহত করার জন্য ব্যবস্থা করতে বলে , যা ব্যবহারকারীর অর্থ কী তা অত্যন্ত অসম্ভব। বিকল্পটি হ্রাস করা হয়; পরিবর্তে নতুন --set-upstream-to(একটি স্বল্প এবং মিষ্টি সহ -u) বিকল্পটি ব্যবহার করুন।


95
এছাড়াও মনে রাখবেন যে আপনি -uপ্রথমবার ধাক্কা দেওয়ার পরেও যদি ভুলে যান তবে আপনি সেই পতাকাটি দিয়ে আবার পুশটি চালাতে পারেন এবং এটি ট্র্যাকিং শুরু করবে।
হেনরিক এন

70
এগুলির কোনওটিই তর্ক ছাড়াই গিট পুশ ব্যবহারের ক্ষেত্রে সন্তুষ্ট হয় না। আমার নতুন শাখাটি প্রথমবারের মতো রিমোটে স্থানান্তরিত করার সময় এখনও 'গিট পুশ-ইউ অরিজিন মাই-ব্রাঞ্চ' মনে রাখতে হবে remains
কার্ল দ্য প্যাগান

19
আমি সেই বাক্য alias gpo="git push --set-upstream origin $(git branch | awk '/^\* / { print $2 }')"
গঠনটিও

99
এটি সব ঠিক আছে, তবে আমি এখনও ওপির অভিযোগটি বৈধ বলে মনে করি। আপনি একটি স্থানীয় শাখা শুরু করুন, এটিতে কাজ করুন, এটিকে ভাগ করার জন্য উত্সে চাপ দিন (কোনও বিনা ছাড়াই); কেন উজান সেট করা উচিত নয়? কোনও রিমোটে কোনও নতুন শাখা চাপানোর সময় কোনও কারণে উপত্যকা স্থাপন না করা কি আসলেই কাম্য?
গ্যারিও

23
সম্পূর্ণরূপে দেব সময় মূল্য না। কেন এটি কেবল স্বয়ংক্রিয়ভাবে তা করে না?
sudo

1346

আপনি কম টাইপিংয়ের মাধ্যমে এটি ঘটতে পারেন। প্রথমে আপনার ধাক্কায় কাজ করার পদ্ধতিটি পরিবর্তন করুন:

git config --global push.default current

এটি origin my_branchঅংশটি অনুমান করবে , সুতরাং আপনি এটি করতে পারেন:

git push -u

যা উভয়ই একই নামের সাথে দূরবর্তী শাখা তৈরি করে এটি ট্র্যাক করবে।


4
নতুন তৈরি হওয়া ভান্ডারে নতুন তৈরি হওয়া শাখায় originদৌড়ানোর সময় গিট ইনফার কীভাবে আসতে পারে git push -u? ভান্ডারটি কি ক্লোন করা হয়েছিল এই ধারণাটি বর্তমান শাখার দূরবর্তীতে সেট করা আছে origin?
পাইটর ডব্রোগস্ট

73
এটি ডিফল্ট হওয়া উচিত। গিটের অনেকগুলি জিনিস আরও বেশি ব্যবহারকারী-বান্ধব হতে পারে যদি এটি কেবল আরও ভাল ডিফল্ট দিয়ে দেওয়া হয়।
ফ্রেইকহেড

13
সচেতন থাকুন যে 'কারেন্ট' একই জিনিসটি করার জন্য 'সরল' ব্যবহারের চেয়ে কিছুটা অস্পষ্ট, স্ট্যাকওভারফ্লো দেখুন / প্রশ্নগুলি দেখুন / ২৩৯৯৮০62০/২
এয়ার

30
এটি করে, তবে তারপরে আপনি যখন চেষ্টা করবেন তখন আপনাকে pullকোথা থেকে নির্দিষ্ট করতে হবে। -uমূল এবং আপনার স্থানীয় রেপো মধ্যে শাখা ট্র্যাকিং স্থাপন করে।
জম্মিথ

7
প্রান্তিক সুবিধাজনক হলেও, এটি এখনও বাধ্যতামূলক করে যে প্রথম এবং একমাত্র জন্য আলাদা কমান্ড চালানো হবে push- যা এই প্রশ্নের পুরো পয়েন্টকে পরাস্ত করে। সংক্ষেপে, ভাল উত্তর নেই। এই গিট বিকাশকারীরা ব্যাপক জনগোষ্ঠীর দ্বন্দ্বের মুখে এই অজাগ্রত ব্যবহারকারী ইক্স্পায়ারেন্স (এএক্সএক্স) ধরে রাখার জন্য জোর দিয়েছিলেন ... এটি আলোকিত করে তোলা। এবং নিরুৎসাহিত করা। (বেশিরভাগ নিরুৎসাহিত।)
সিসিল কারি

87

আপনি সহজভাবে পারেন

git checkout -b my-branch origin/whatever

প্রথম অবস্থানে. আপনি যদি সেট করেন branch.autosetupmergeবা branch.autosetuprebase(আমার প্রিয়) এ always(ডিফল্ট হয় true), my-branchস্বয়ংক্রিয়ভাবে ট্র্যাক হবে origin/whatever

দেখুন git help config


5
এটি "মারাত্মক: একই সাথে পাথ আপডেট করতে পারে না এবং শাখা 'মাই-ব্রাঞ্চ' এ স্যুইচ করতে পারে না produces"
কার্ল দ্য প্যাগান

12
যাইহোক, আমি সাধারণত ন্যায়সঙ্গত git checkout -t origin/whatever, যা whateverনতুন শাখা-নাম হিসাবেও পছন্দ করে। খুব সুবিধাজনক!
cdunn2001

2
@ সিডুন এইটি আদর্শ, তবে খুব কমই সামঞ্জস্যপূর্ণ। পতাকাটি কল করা উচিত -u/ --set-upstream
টুবু

1
git checkout -t origin/whateverনতুন শাখা তৈরি করার চেষ্টা করার সময় আমার পক্ষে কাজ করে না:fatal: Cannot update paths and switch to branch 'whatever' at the same time.
উইসবাকী

1
git checkout -b my-branch origin/whateverএকই fatal: Cannot update paths and switch to branch 'whatever' at the same time.
ত্রুটিও

81

আপনি দুটি উপায়ে upstream সহজ সেট করতে পারেন। আপনি যখন শাখাটি তৈরি করবেন প্রথমে:

git branch -u origin/my-branch

অথবা আপনি একটি শাখা তৈরি করার পরে, আপনি এই আদেশটি ব্যবহার করতে পারেন।

git push -u origin my-branch

আপনি একটি একক কমান্ডে শাখা, পরীক্ষা করে এবং প্রবাহ সেটআপ করতেও পারেন:

git checkout -b my-branch -t origin/my-branch

আমার ব্যক্তিগতভাবে অগ্রাধিকার হ'ল এটি একটি দ্বি-পদক্ষেপ কমান্ডে করা:

git checkout -b my-branch
git push -u origin my-branch

1
দুর্দান্ত উত্তর! উভয় সাধারণ ব্যবহারের ক্ষেত্রে অ্যাড্রেস করে। দৌড়ানোর পরে git branch -u origin/my-branchআমি git pullআমার পরিবর্তনগুলি টানতে দৌড়াতে পারি ।
বেনিয়ামিন আতকিন

2
"গিট চেকআউট-বি আমার-শাখা -t উত্স / আমার-শাখা" যদি এটি 'উত্স / আমার-শাখা' বিদ্যমান না থাকে তবে এটি কাজ করে না।
স্পঞ্জম্যান

1
আপনি আসলে git checkout -t origin/my-branchছাড়া এটি করতে পারেন -b my-branch, এটি কেবলমাত্র my-branchস্থানীয় শাখার নামটির জন্য সন্ধান করবে। যাইহোক, @ স্পপম্যানের উল্লেখ অনুসারে, এই কমান্ডটি origin/my-branchপ্রথম উপস্থিত না থাকলে কার্যকর হয় না।
উইসবাকী

হ্যাঁ, @ উইসবাকির কাজ করবে, - এটি ঠিক কাজ করে। ব্যক্তিগতভাবে যদিও, আমি এই উত্তরটি লেখার দু'বছর পরেও, আমি এখনও চেকআউট-বি এবং পুশ-ইউ দিয়ে দুটি লাইনে বিভক্ত হওয়া পছন্দ করি। এটি আরও সুস্পষ্ট এবং চেকআউট-বি তে কোনও ত্রুটি যখন-আমার কাছে দূরবর্তী না থাকে - যা পরীক্ষার সময় প্রায়শই ঘটে :)
Tzen

2
git push -u origin/my-branchআমার সাথে ব্যর্থ fatal: 'origin/my-branch' does not appear to be a git repository। এই কাজগুলো করেনঃgit push -u origin my-branch
stason

79

দ্য ফাকের জন্য এটি আমার সবচেয়ে সাধারণ ব্যবহার ।

$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

$ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...

এছাড়াও, আপনার টার্মিনালে শপথের শব্দগুলি টাইপ করা মজাদার।


এটি উইন্ডোতে পোর্ট করা প্রয়োজন (বা কমপক্ষে গিট-ব্যাশ)।
BrianHVB

1
ভাল এই সামান্য আবিষ্কার সবেমাত্র আমার দিন। আপনাকে ধন্যবাদ
ইভান ডার্স্ট

চমত্কার সরঞ্জাম, ধন্যবাদ!
ইউরি

48

তুমি ব্যবহার করতে পার:

গিট কনফিগার - গ্লোবাল শাখা। সর্বদা

যা প্রতিবার আপনি কোনও নতুন শাখা তৈরি বা চেকআউট করে প্রবাহিত শাখাকে লিঙ্ক করবে।

Https://felipec.wordpress.com/2013/09/01/advanced-git-concepts-the-upstream-tracking-branch/ দেখুন

এটি এর সাথেও কাজ করে branch.autosetuprebase, আপনি যদি আরও রিবেস ফোকাসযুক্ত ওয়ার্কফ্লো অনুসরণ করেন তবে আপনি কী করছেন তা যদি না জানেন তবে এটি ব্যবহার করবেন না, কারণ এটি আপনার টানার আচরণটিকে পুনর্বাসনে ডিফল্ট করবে, যা বিজোড় ফলাফলের কারণ হতে পারে।


8
কাজ করে না, আমি এখনও --set-upstreamবার্তাটি পেয়েছি
ডোরিয়ান

2
@ ডরিয়ান, শাখাটি তৈরি করার আগে আপনাকে এটি সেট করতে হবে। দেখুন stackoverflow.com/a/9753268/263998
cdunn2001

8
তবে এটি একই শাখার সাথে দূরবর্তী হিসাবে ট্র্যাকিং শাখাটিকে সেট করে না, তবে বর্তমান স্থানীয় শাখায় .. সুতরাং আপনি যখন চাপ দেবেন তখন এটি নতুন শাখা তৈরির আগে আপনি যে স্থানীয় শাখায় ছিলেন সেদিকে ধাক্কা দেওয়ার চেষ্টা করবে ..
আর্নল্ড রো

1
এটির ডিফল্টের চেয়েও অদ্ভুত আচরণ রয়েছে। যদি আপনি একটি শাখা বন্ধ কাজ বেস, এটি সত্যিই অদ্ভুতভাবে কাজ করে।
বিফস্টার

1
এই সেটিংটি সম্পর্কে সাবধানতা অবলম্বন করুন !! এটি সেট করার পরে, আপনি এই আচরণ পান। 1. স্যুইচ করুন master। 2. চালান git checkout -b new_branch। 3. যে শাখায় একটি প্রতিশ্রুতি যুক্ত করুন। ৪ git push origin new_branchএটি পুশ করে যা masterউত্সের শাখায় প্রতিশ্রুতিবদ্ধ (পরিবর্তে নতুন নামে পরিচিত নামে পরিচিত new_branch)।
stwr667

38

যাইহোক, বর্তমান শাখাকে একই নাম দিয়ে দূরবর্তী স্থানে চাপ দেওয়ার শর্টকাট:

$ git push -u origin HEAD

22

আমি ব্যক্তিগতভাবে বাশগুলিতে নীচের এই নামটি ব্যবহার করি

~ / .gitconfig ফাইলে

[alias]
    pushup = "!git push --set-upstream origin $(git symbolic-ref --short HEAD)"

এবং ~ / .bashrc বা ~ / .zshrc ফাইলে

alias gpo="git pushup"
alias gpof="gpo -f"
alias gf="git fetch"
alias gp="git pull"

1
আমার কেবল .gitconfig এড়াতে হবে, তখন আমি কমান্ডটি ব্যবহার করতে পারি git pushupযা সর্বদা বর্তমান শাখাকে উত্সের দিকে ঠেলে দেয়। আমি সর্বদা git pushupgit push
thespacecamel

18

নীচে যদি কাজ না করে:

git config --global push.default current

আপনার প্রকল্পের স্থানীয় কনফিগারেশন যেমন সম্ভব আপনার প্রকল্পের স্থানীয় কনফিগারেশনও আপডেট করা উচিত:

git config --local push.default current

2
আরও ব্যাখ্যা দুর্দান্ত হবে। প্রথম লাইনটি কী করে?
পেপিলন

3
এই উত্তরটি বৈধতা অনুভব করে। এলিয়াসগুলির প্রস্তাব দেওয়ার সমস্তগুলি হ'ল বোবা কাজ ounds এবং লম্বা কমান্ডের সিক্যুয়েন্সগুলি মুখস্থ করার পক্ষে অন্য যেগুলি প্যাডেন্টিক।
মার্কহু

10

আপনি দূরবর্তী শাখাটি কীভাবে টানবেন তা স্পষ্টভাবে গিট টানতেও বলতে পারেন (যেমন এটি ত্রুটির বার্তায় উল্লেখ করা হয়েছে):

git pull <remote-name> <remote-branch>

তবে এটির সাথে সাবধান থাকুন: আপনি যদি অন্য কোনও শাখায় থাকেন এবং একটি স্পষ্টভাবে টান করেন, আপনি যে রেফস্পেকটি টানছেন সেটি আপনি যে শাখায় রয়েছেন তাতে মিশে যাবে!


10

এটির জন্য মূল্যবান, যদি আপনি দূরবর্তীটিতে ইতিমধ্যে বিদ্যমান একটি শাখা ট্র্যাক করার চেষ্টা করছেন (উদাহরণস্বরূপ উত্স / সামান্য কিছু) তবে স্থানীয়ভাবে এখনও এটি পরীক্ষা করে দেখেনি, আপনি এটি করতে পারেন:

$ git checkout --track origin/somebranch

দ্রষ্টব্য: '-t' হ'ল '- ট্র্যাক' বিকল্পের সংক্ষিপ্ত সংস্করণ।

এটি ব্যাট থেকে ঠিক একই সংঘ স্থাপন করে।


5
আপনি কেবল শাখায় চেকআউট করতে পারেন। সুতরাং git checkout somebranchসমতুল্য।
জমীথ

2
@ জামিথ git fetchতাৎক্ষণিকভাবে ফোন করার পরে কেবল কাজ করে না?
ওয়াল্টার রোমান

1
তাত্ক্ষণিকভাবে নয়, তবে হ্যাঁ, আপনার স্থানীয় রেপোতে আপনার সেই শাখার একটি রেফারেন্স থাকা দরকার, যখনই আপনি ফোন করবেন git fetchবা বলবেন git pull। যদিও আমি এটি কখনই একটি সমস্যা হতে পারি নি।
জামেথ

10
git branch --set-upstream-to=origin/master<branch_name>

9

আমি প্রতিবার গিটের পরামর্শটি অনুলিপি / অনুলিপি করার পরিবর্তে এই গিট ওরফে ব্যবহার করি: https://gist.github.com/ekilah/88a880c84a50b73bd306

উত্সটি নীচে অনুলিপি করা হয়েছে (এটি আপনার ~/.gitconfigফাইলে যুক্ত করুন):

[alias]
  pushup = "!gitbranchname() { git symbolic-ref --short HEAD; }; gitpushupstream() { git push --set-upstream origin `gitbranchname`; }; gitpushupstream"

7

আপনি একটি অত্যধিক ভার্বোস বাক্য বিন্যাস ছাড়াই এটি পরিচালনা করতে পারে এমন একটি খুব ভাল উপনাম সেট আপ করতে পারেন।

আমার মধ্যে নিম্নলিখিত নামটি রয়েছে ~/.gitconfig:

po = "!git push -u origin \"$(git rev-parse --abbrev-ref HEAD)\""

একটি নতুন শাখায় প্রতিশ্রুতিবদ্ধ হওয়ার পরে, আপনি কেবল কমান্ডটি টাইপ করে আপনার নতুন শাখাটি চাপতে পারেন:

git po

কেন po? push origin? এটি একাধিকবার চালানো হলে কি হবে?
আর্নল্ড রোয়া

হ্যাঁ, পুশ উত্স হিসাবে এটি একাধিকবার চালালে কিছুই হয় না। আমার একটি git push -fউপাধিও সেট আপ করা আছে git pf, তাই আমি এটি ব্যবহার করি যে একবার উত্স ইতিমধ্যে ঠেলাঠেলি হয়ে গেছে।
123

দেখতে djanowski এর মন্তব্য , আপনি সরাসরি ব্যবহার করতে পারেনHEAD
arhak

3

যাদের সাথে কাজ করে এমন একটি উলামের সন্ধান করছেন তাদের জন্য git pull, আমি এটি ব্যবহার করি:

alias up="git branch | awk '/^\\* / { print \$2 }' | xargs -I {} git branch --set-upstream-to=origin/{} {}"

এখন যখনই আপনি পাবেন:

$ git pull
There is no tracking information for the current branch.
...

শেষ ঘন্টা:

$ up
Branch my_branch set up to track remote branch my_branch from origin.
$ git pull

এবং আপনি যেতে ভাল


2

কারণ গিটের বিভিন্ন শাখাকে বিভিন্ন "আপস্ট্রিম" রিপোজিটরিগুলিতে ধাক্কা / টানানোর দুর্দান্ত ক্ষমতা রয়েছে। এমনকি আপনি একই শাখায় - ঠেলাঠেলি এবং টানার জন্য পৃথক সংগ্রহস্থল ব্যবহার করতে পারেন। এটি একটি বিতরণযোগ্য, বহু-স্তরের প্রবাহ তৈরি করতে পারে, লিনাক্স কার্নেলের মতো প্রকল্পে এটি দরকারী হিসাবে দেখতে পাচ্ছি। গিটটি মূলত সেই প্রকল্পে ব্যবহারের জন্য নির্মিত হয়েছিল।

ফলস্বরূপ, আপনার শাখাটি কোন রেপো ট্র্যাক করা উচিত তা অনুমান করে না।

অন্যদিকে, বেশিরভাগ লোকেরা এইভাবে গিট ব্যবহার করেন না, তাই এটি কোনও ডিফল্ট বিকল্পের জন্য একটি ভাল ক্ষেত্রে তৈরি করতে পারে।

গিটটি সাধারণত নিচু স্তরের এবং হতাশার কারণ হতে পারে। তবুও জিইআইআই রয়েছে এবং আপনি যদি এখনও শেল থেকে এটি ব্যবহার করতে চান তবে সহায়ক স্ক্রিপ্টগুলি লেখা সহজ হওয়া উচিত।



0

আমি legitএই সমস্যাটির কারণে পুনরায় আবিষ্কার করেছি (কেবলমাত্র ওএস এক্স)। ব্রাঞ্চিংয়ের সময় আমি এখন যা ব্যবহার করি তা এই দুটি কমান্ড:

legit publish [<branch>] রিমোটে নির্দিষ্ট শাখা প্রকাশ করে। (ওরফে pub:)

legit unpublish <branch> রিমোট থেকে নির্দিষ্ট শাখা সরান। (ওরফে unp:)

সাব্লাইমগিটlegit ডিফল্টরূপে সমর্থন নিয়ে আসে যা পুরো ব্রাঞ্চিং রুটিনকে Ctrl-b চাপার মতো সহজ করে তোলে।


0

আমরা ফ্যাব্রিকেটর ব্যবহার করি এবং গিট ব্যবহার করে চাপ দিই না। আমাকে বাশ ওরফে তৈরি করতে হয়েছিল যা লিনাক্স / ম্যাকে কাজ করে

vim ~/.bash_aliases

new_branch() {
    git checkout -b "$1"
    git branch --set-upstream-to=origin/master "$1"
}

সংরক্ষণ

source ~/.bash_aliases
new_branch test #instead of git checkout -b test
git pull

0

এখানে গিট পুশের জন্য একটি বাশ ওরফে রয়েছে যা প্রতিটি ধাক্কার জন্য চালানো নিরাপদ এবং স্বয়ংক্রিয়ভাবে প্রথম ধাক্কার জন্য প্রবাহ স্থাপন এবং তারপরে স্বাভাবিক ধাক্কা দেওয়ার মধ্যে স্যুইচ হবে।

alias gpu='[[ -z $(git config "branch.$(git symbolic-ref --short HEAD).merge") ]] && git push -u origin $(git symbolic-ref --short HEAD) || git push'

আসল পোস্ট

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.